package cn.hxsteel.jtool.util;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;


/**
 * 类型转换器
 * 
 * @since 2012.12.20
 */
public class ConverterUtil
{
    /**
     * 转布尔值
     * 
     * @param input 输入值
     * @author zhuo
     * @since 2012.12.20
     */
    public static boolean toBoolean( Object input )
    {
	boolean res = false;
	input = input == null ? "false" : input;
	res = Boolean.parseBoolean( input.toString() );
	return res;
    }
    
    /**
     * 转数字
     * 
     * @param input 输入值
     * @author zhuo
     * @since 2012.12.20
     */
    public static int toInt( Object input )
    {
	int res = 0;
	input = input == null ? "0" : input;
	res = Integer.parseInt( input.toString() );
	return res;
    }
    
    /**
     * 转双精度型
     * 
     * @param input 输入值
     * @author zhuo
     * @since 2012.12.20
     */
    public static double toDouble( Object input )
    {
	double res = 0;
	input = input == null ? "0" : input;
	res = Double.parseDouble( input.toString() );
	return res;
    }
    
    /**
     * 转字符串
     * 
     * @param input 输入值
     * @author zhuo
     * @since 2012.12.20
     */
    public static String toString( Object input )
    {
	String res = "";
	input = input == null ? "" : input;
	res = input.toString();
	return res;
    }
    
    /**
     * 转日期
     * 
     * @param input 输入值
     * @author zhuo
     * @since 2012.12.20
     */
    public static Date toDate( Object input )
    {
	Date res = new Date();
	input = input == null ? new Date(0) : input;
	SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
	try
        {
	    res = simpleDateFormat.parse( input.toString() );
        }
        catch ( ParseException e )
        {
	    e.printStackTrace();
        }
	return res;
    }
}
